package com.huacloud.qw.mysql.shell.exception;

/**
 * @author ougw
 * @description 异常返回码
 */
public enum ErrorCode {
    /*请求的参数个数或格式不符合要求*/
    BAD_REQUEST(400, "请求的参数个数或格式不符合要求"),
    /*请求的参数不正确*/
    INVALID_ARGUMENT(400, "请求的参数不正确"),
    /*无权访问*/
    UNAUTHORIZED(401, "无权访问"),
    LOGIN_EXPIRED(402, "您已从其他地方登录，请重新登录"),
    /**
     * 用户被禁用
     */
    USER_DISABLED(402, "用户被禁用，无法访问"),
    /*禁止访问*/
    FORBIDDEN(403, "您无权限访问该资源，请联系管理员配置"),
    /*请求的地址不正确*/
    NOT_FOUND(404, "请求的地址不正确"),
    /*不允许的请求方法*/
    METHOD_NOT_ALLOWED(405, "不允许的请求方法"),
    /*不接受的请求*/
    NOT_ACCEPTABLE(406, "不接受的请求"),
    /*资源冲突*/
    CONFLICT(409, "资源冲突"),
    /*不支持的Media Type*/
    UNSUPPORTED_MEDIA_TYPE(415, "不支持的Media Type"),
    /*服务器内部错误*/
    INTERNAL_ERROR(-1, "服务器内部错误"),
    /*服务不可用*/
    SERVICE_UNAVAILABLE(503, "服务不可用"),
    /*请求服务超时*/
    GATEWAY_TIMEOUT(504, "请求服务超时"),
    /*业务逻辑错误*/
    BUSINESS_ERROR(1001, "业务逻辑错误");

    private int code;
    private String message;

    ErrorCode(int code, String message) {
        this.code = code;
        this.message = message;
    }

    public String getName() {
        return this.name();
    }

    public int getCode() {
        return code;
    }

    public String getMessage() {
        return message;
    }
}
